//1. 安装koa&引入koa
//2. 创建koa实例
//3. 为请求注册监听
//4. 监听主机&端口

/*
    require的机制(node的第三方包查找机制):
        require的第一个参数:
            内置包: fs http
            用户的自定义路径: "./index.js"
            第三方包: koa


     1. 遍历module.paths数组查找对应包名下的package.json文件中的main属性
     2. 根据main属性的值 来找对应的文件;
            如果文件存在 则返回该文件暴露的模块
            如果文件不存在 则找包底下的index.js文件
     3. 如果12都没有成功 则报错:Cannot find module 'koa'

*/

/*
    module.paths:
    [
        'C:\\Users\\alienware\\Desktop\\sh_20_0610\\code\\work\\day19(koa2)\\koa_demo\\node_modules',
        'C:\\Users\\alienware\\Desktop\\sh_20_0610\\code\\work\\day19(koa2)\\node_modules',
        'C:\\Users\\alienware\\Desktop\\sh_20_0610\\code\\work\\node_modules',
        'C:\\Users\\alienware\\Desktop\\sh_20_0610\\code\\node_modules',
        'C:\\Users\\alienware\\Desktop\\sh_20_0610\\node_modules',
        'C:\\Users\\alienware\\Desktop\\node_modules',
        'C:\\Users\\alienware\\node_modules',
        'C:\\Users\\node_modules',
        'C:\\node_modules'
    ]
*/
const Koa = require("koa"); //Koa是一个名字叫Application的Class
const app = new Koa(); //调用的就是Application的constructor
//ctx: koa上下文
app.use((ctx)=>{
    // ctx.fn()
    // console.log(ctx.damuName)
    // ctx.damuName = "xxx";
    // console.log(ctx.zdyName)
    ctx.zdyName = "xxx"
    ctx.body  = "hello koa---"
})
app.listen(3000,"127.0.0.1",()=>{
    console.log("服务启动了")
})